rowett wrote:I'm not sure which is "correct". It's actually unusual for the x and y definitions to be different than the pattern size which is probably why this wasn't spotted before.
Thoughts?
This has been a thorny question for a long time, mostly because Life32v2.16 had a really annoying bug in it where you would copy out a selection and it would show up with zeroes for the X and Y bounds, or even negative numbers. So it's not really a good idea to have the standard that Golly used to have, that RLE patterns are clipped to their reported bounding boxes.
It also happens somewhat regularly that the X and Y values are a bit too small -- e.g., for programmatically generated RLE where the header line is just hard-coded as "x = 999, y = 999" or some such.
On the other hand, it's pretty useful to be able to use RLE to specify the size of the selection box as well as the pattern itself. Especially leading $ lines and leading b's on every line probably shouldn't be ignored, because they might be there for a reason. (That's different from leading tabs or spaces before every line of ASCII patterns, which _should_ probably be ignored as we've previously established...!) Space at the top or left of RLE patterns allows another way besides a
#CXRLE Pos= header for chunks of pattern to be aligned -- every piece can be dropped in at (0,0) and yet everything ends up in the right relative locations.
So... I guess if Golly is doing something sensible with this unusual variety of RLE, then it probably makes sense to do what Golly does.